package com.joolun.system.domain;

import com.joolun.common.annotation.Excel;
import com.joolun.common.core.domain.BaseEntity;
import io.swagger.models.auth.In;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 支付链接对象 pay_link
 * 
 * @author joolun
 * @date 2025-07-07
 */
@Data
public class PayLink extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 支付名称 */
    @Excel(name = "支付名称")
    private String name;

    /** 进阶课id */
    @Excel(name = "进阶课id")
    private String courseId;

    /** 支付类型 */
    @Excel(name = "支付类型")
    private String type;

    /** 支付链接 */
    @Excel(name = "支付链接")
    private String link;

    /** 场景：1=私聊专用，2=直播间专用 */
    @Excel(name = "场景：1=私聊专用，2=直播间专用")
    private String scene;

    /** 背景图 */
    @Excel(name = "背景图")
    private String bgPic;

    /** 红包图 */
    @Excel(name = "红包图")
    private String redPic;

    /** 链接标题显示内容：1=关联课程标题，2=红包支付名称，3=自定义 */
    @Excel(name = "链接标题显示内容：1=关联课程标题，2=红包支付名称，3=自定义")
    private String titleType;

    /** 自定义标题名称 */
    @Excel(name = "自定义标题名称")
    private String titleName;

    /** 支付链接唯一标识码 */
    @Excel(name = "支付链接唯一标识码")
    private String code;

    /** 支付配置id */
    @Excel(name = "支付配置id")
    private Long paramId;

    /** 主体id */
    @Excel(name = "主体id")
    private String corpId;
    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setCourseId(String courseId) 
    {
        this.courseId = courseId;
    }

    public String getCourseId() 
    {
        return courseId;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setLink(String link) 
    {
        this.link = link;
    }

    public String getLink() 
    {
        return link;
    }
    public void setScene(String scene) 
    {
        this.scene = scene;
    }

    public String getScene() 
    {
        return scene;
    }
    public void setBgPic(String bgPic) 
    {
        this.bgPic = bgPic;
    }

    public String getBgPic() 
    {
        return bgPic;
    }
    public void setRedPic(String redPic) 
    {
        this.redPic = redPic;
    }

    public String getRedPic() 
    {
        return redPic;
    }
    public void setTitleType(String titleType) 
    {
        this.titleType = titleType;
    }

    public String getTitleType() 
    {
        return titleType;
    }
    public void setTitleName(String titleName) 
    {
        this.titleName = titleName;
    }

    public String getTitleName() 
    {
        return titleName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("courseId", getCourseId())
            .append("type", getType())
            .append("link", getLink())
            .append("scene", getScene())
            .append("bgPic", getBgPic())
            .append("redPic", getRedPic())
            .append("titleType", getTitleType())
            .append("titleName", getTitleName())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
